#ifndef _FRAMEWORK_LOGGING_INCLUDE_LOGGING_H_
#define _FRAMEWORK_LOGGING_INCLUDE_LOGGING_H_

#include <QMutex>
#include <QDateTime>
#include <QDebug>
#include <QDir>
#include <iostream>

//Release 版本默认不包含context这些信息:文件名、函数名、行数，需要在.pro项目文件加入以下代码，加入后最好重新构建项目使之生效：
//DEFINES += QT_MESSAGELOGCONTEXT

//在.pro文件定义以下的宏，可以屏蔽相应的日志输出
//DEFINES += QT_NO_WARNING_OUTPUT
//DEFINES += QT_NO_DEBUG_OUTPUT
//DEFINES += QT_NO_INFO_OUTPUT

class Logging
{
public:
    Logging() = delete;
    ~Logging() = delete;

    static void useLogging();

private:
    static void init(QtMsgType type, const QMessageLogContext &context, const QString &msg);

    static QMutex  itsMutex;
    static QString itsLogFileName;

    static constexpr auto LOG_DIR = "C:/Users/Administrator/AppData/Phoenix/Log";
};

#endif
